[INFO] fetching crate tailscale-client 0.1.5...
[INFO] testing tailscale-client-0.1.5 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate tailscale-client 0.1.5 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate tailscale-client 0.1.5
[INFO] finished tweaking crates.io crate tailscale-client 0.1.5
[INFO] tweaked toml for crates.io crate tailscale-client 0.1.5 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate tailscale-client 0.1.5 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 259 packages to latest compatible versions
[INFO] [stderr]       Adding rand v0.9.2 (available: v0.10.0)
[INFO] [stderr]       Adding reqwest v0.12.28 (available: v0.13.2)
[INFO] [stderr]       Adding testcontainers v0.23.3 (available: v0.27.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1601132e06c62c36cb5becacb39502aa66615fd9a30eb997d398d79b2b0f42dd
[INFO] running `Command { std: "docker" "start" "-a" "1601132e06c62c36cb5becacb39502aa66615fd9a30eb997d398d79b2b0f42dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1601132e06c62c36cb5becacb39502aa66615fd9a30eb997d398d79b2b0f42dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1601132e06c62c36cb5becacb39502aa66615fd9a30eb997d398d79b2b0f42dd", kill_on_drop: false }`
[INFO] [stdout] 1601132e06c62c36cb5becacb39502aa66615fd9a30eb997d398d79b2b0f42dd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 535fed12221cc3a48f3ffa4c3b2cd74106b0c691cb7d4a5541b57a983e20cd31
[INFO] running `Command { std: "docker" "start" "-a" "535fed12221cc3a48f3ffa4c3b2cd74106b0c691cb7d4a5541b57a983e20cd31", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling structmeta-derive v0.3.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling etcetera v0.8.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling structmeta v0.3.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling docker_credential v1.3.2
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling serde_with_macros v3.18.0
[INFO] [stderr]    Compiling serde_with v3.18.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling parse-display-derive v0.9.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling tokio-tar v0.3.1
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling bollard-stubs v1.47.1-rc.27.3.1
[INFO] [stderr]    Compiling parse-display v0.9.1
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyperlocal v0.9.1
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling bollard v0.18.1
[INFO] [stderr]    Compiling testcontainers v0.23.3
[INFO] [stderr]    Compiling tailscale-client v0.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/lib.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{anyhow, Error, Result};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `testcontainers::core::ExecCommand`
[INFO] [stdout]  --> src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use testcontainers::core::ExecCommand;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GenericImage`, `ImageExt`, `core::WaitFor`, and `runners::AsyncRunner`
[INFO] [stdout]  --> src/lib.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use testcontainers::{core::WaitFor, runners::AsyncRunner, GenericImage, ImageExt};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `expirySeconds` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |     pub expirySeconds: Option<u64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `expiry_seconds`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `userId` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:373:9
[INFO] [stdout]     |
[INFO] [stdout] 373 |     pub userId: Option<String>,
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeId` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:406:9
[INFO] [stdout]     |
[INFO] [stdout] 406 |     pub nodeId: Option<String>,
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clientVersion` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:410:9
[INFO] [stdout]     |
[INFO] [stdout] 410 |     pub clientVersion: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `client_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updateAvailable` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:411:9
[INFO] [stdout]     |
[INFO] [stdout] 411 |     pub updateAvailable: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `update_available`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastSeen` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout] 414 |     pub lastSeen: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to snake case: `last_seen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `keyExpiryDisabled` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:415:9
[INFO] [stdout]     |
[INFO] [stdout] 415 |     pub keyExpiryDisabled: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `key_expiry_disabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isExternal` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |     pub isExternal: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `is_external`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `machineKey` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:419:9
[INFO] [stdout]     |
[INFO] [stdout] 419 |     pub machineKey: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `machine_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeKey` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:420:9
[INFO] [stdout]     |
[INFO] [stdout] 420 |     pub nodeKey: Option<String>,
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `node_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blocksIncomingConnections` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:421:9
[INFO] [stdout]     |
[INFO] [stdout] 421 |     pub blocksIncomingConnections: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `blocks_incoming_connections`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `enabledRoutes` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:422:9
[INFO] [stdout]     |
[INFO] [stdout] 422 |     pub enabledRoutes: Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `enabled_routes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `advertisedRoutes` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:423:9
[INFO] [stdout]     |
[INFO] [stdout] 423 |     pub advertisedRoutes: Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `advertised_routes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clientConnectivity` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:424:9
[INFO] [stdout]     |
[INFO] [stdout] 424 |     pub clientConnectivity: Option<ClientConnectivity>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `client_connectivity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `tailnetLockError` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout] 426 |     pub tailnetLockError: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tailnet_lock_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `tailnetLockKey` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:427:9
[INFO] [stdout]     |
[INFO] [stdout] 427 |     pub tailnetLockKey: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tailnet_lock_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `postureIdentity` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:428:9
[INFO] [stdout]     |
[INFO] [stdout] 428 |     pub postureIdentity: Option<PostureIdentity>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `posture_identity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `mappingVariesByDestIP` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:436:9
[INFO] [stdout]     |
[INFO] [stdout] 436 |     pub mappingVariesByDestIP: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `mapping_varies_by_dest_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clientSupports` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:437:9
[INFO] [stdout]     |
[INFO] [stdout] 437 |     pub clientSupports: Option<ClientSupports>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `client_supports`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `latencyMs` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:444:9
[INFO] [stdout]     |
[INFO] [stdout] 444 |     pub latencyMs: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `latency_ms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `hairPinning` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:450:9
[INFO] [stdout]     |
[INFO] [stdout] 450 |     pub hairPinning: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `hair_pinning`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `serialNumbers` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:461:9
[INFO] [stdout]     |
[INFO] [stdout] 461 |     pub serialNumbers: Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `serial_numbers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 07s
[INFO] running `Command { std: "docker" "inspect" "535fed12221cc3a48f3ffa4c3b2cd74106b0c691cb7d4a5541b57a983e20cd31", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "535fed12221cc3a48f3ffa4c3b2cd74106b0c691cb7d4a5541b57a983e20cd31", kill_on_drop: false }`
[INFO] [stdout] 535fed12221cc3a48f3ffa4c3b2cd74106b0c691cb7d4a5541b57a983e20cd31
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] eafae1acf57c45be32279515907ac3321b67d7cdb61bfe97ab49ba6a76d02eb3
[INFO] running `Command { std: "docker" "start" "-a" "eafae1acf57c45be32279515907ac3321b67d7cdb61bfe97ab49ba6a76d02eb3", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/lib.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{anyhow, Error, Result};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `testcontainers::core::ExecCommand`
[INFO] [stdout]  --> src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use testcontainers::core::ExecCommand;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GenericImage`, `ImageExt`, `core::WaitFor`, and `runners::AsyncRunner`
[INFO] [stdout]  --> src/lib.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use testcontainers::{core::WaitFor, runners::AsyncRunner, GenericImage, ImageExt};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `expirySeconds` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |     pub expirySeconds: Option<u64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `expiry_seconds`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `userId` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:373:9
[INFO] [stdout]     |
[INFO] [stdout] 373 |     pub userId: Option<String>,
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeId` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:406:9
[INFO] [stdout]     |
[INFO] [stdout] 406 |     pub nodeId: Option<String>,
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clientVersion` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:410:9
[INFO] [stdout]     |
[INFO] [stdout] 410 |     pub clientVersion: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `client_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updateAvailable` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:411:9
[INFO] [stdout]     |
[INFO] [stdout] 411 |     pub updateAvailable: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `update_available`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastSeen` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout] 414 |     pub lastSeen: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to snake case: `last_seen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `keyExpiryDisabled` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:415:9
[INFO] [stdout]     |
[INFO] [stdout] 415 |     pub keyExpiryDisabled: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `key_expiry_disabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isExternal` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |     pub isExternal: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `is_external`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `machineKey` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:419:9
[INFO] [stdout]     |
[INFO] [stdout] 419 |     pub machineKey: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `machine_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeKey` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:420:9
[INFO] [stdout]     |
[INFO] [stdout] 420 |     pub nodeKey: Option<String>,
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `node_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blocksIncomingConnections` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:421:9
[INFO] [stdout]     |
[INFO] [stdout] 421 |     pub blocksIncomingConnections: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `blocks_incoming_connections`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `enabledRoutes` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:422:9
[INFO] [stdout]     |
[INFO] [stdout] 422 |     pub enabledRoutes: Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `enabled_routes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `advertisedRoutes` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:423:9
[INFO] [stdout]     |
[INFO] [stdout] 423 |     pub advertisedRoutes: Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `advertised_routes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clientConnectivity` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:424:9
[INFO] [stdout]     |
[INFO] [stdout] 424 |     pub clientConnectivity: Option<ClientConnectivity>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `client_connectivity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `tailnetLockError` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout] 426 |     pub tailnetLockError: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tailnet_lock_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `tailnetLockKey` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:427:9
[INFO] [stdout]     |
[INFO] [stdout] 427 |     pub tailnetLockKey: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tailnet_lock_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `postureIdentity` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:428:9
[INFO] [stdout]     |
[INFO] [stdout] 428 |     pub postureIdentity: Option<PostureIdentity>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `posture_identity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `mappingVariesByDestIP` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:436:9
[INFO] [stdout]     |
[INFO] [stdout] 436 |     pub mappingVariesByDestIP: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `mapping_varies_by_dest_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clientSupports` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:437:9
[INFO] [stdout]     |
[INFO] [stdout] 437 |     pub clientSupports: Option<ClientSupports>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `client_supports`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `latencyMs` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:444:9
[INFO] [stdout]     |
[INFO] [stdout] 444 |     pub latencyMs: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `latency_ms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `hairPinning` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:450:9
[INFO] [stdout]     |
[INFO] [stdout] 450 |     pub hairPinning: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `hair_pinning`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `serialNumbers` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:461:9
[INFO] [stdout]     |
[INFO] [stdout] 461 |     pub serialNumbers: Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `serial_numbers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tailscale-client v0.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/lib.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{anyhow, Error, Result};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::WaitFor`
[INFO] [stdout]  --> src/lib.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use testcontainers::{core::WaitFor, runners::AsyncRunner, GenericImage, ImageExt};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `expirySeconds` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |     pub expirySeconds: Option<u64>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `expiry_seconds`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `userId` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:373:9
[INFO] [stdout]     |
[INFO] [stdout] 373 |     pub userId: Option<String>,
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeId` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:406:9
[INFO] [stdout]     |
[INFO] [stdout] 406 |     pub nodeId: Option<String>,
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case: `node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clientVersion` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:410:9
[INFO] [stdout]     |
[INFO] [stdout] 410 |     pub clientVersion: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `client_version`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `updateAvailable` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:411:9
[INFO] [stdout]     |
[INFO] [stdout] 411 |     pub updateAvailable: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `update_available`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `lastSeen` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:414:9
[INFO] [stdout]     |
[INFO] [stdout] 414 |     pub lastSeen: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to snake case: `last_seen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `keyExpiryDisabled` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:415:9
[INFO] [stdout]     |
[INFO] [stdout] 415 |     pub keyExpiryDisabled: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `key_expiry_disabled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `isExternal` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 418 |     pub isExternal: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `is_external`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `machineKey` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:419:9
[INFO] [stdout]     |
[INFO] [stdout] 419 |     pub machineKey: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `machine_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `nodeKey` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:420:9
[INFO] [stdout]     |
[INFO] [stdout] 420 |     pub nodeKey: Option<String>,
[INFO] [stdout]     |         ^^^^^^^ help: convert the identifier to snake case: `node_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `blocksIncomingConnections` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:421:9
[INFO] [stdout]     |
[INFO] [stdout] 421 |     pub blocksIncomingConnections: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `blocks_incoming_connections`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `enabledRoutes` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:422:9
[INFO] [stdout]     |
[INFO] [stdout] 422 |     pub enabledRoutes: Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `enabled_routes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `advertisedRoutes` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:423:9
[INFO] [stdout]     |
[INFO] [stdout] 423 |     pub advertisedRoutes: Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `advertised_routes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clientConnectivity` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:424:9
[INFO] [stdout]     |
[INFO] [stdout] 424 |     pub clientConnectivity: Option<ClientConnectivity>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `client_connectivity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `tailnetLockError` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout] 426 |     pub tailnetLockError: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tailnet_lock_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `tailnetLockKey` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:427:9
[INFO] [stdout]     |
[INFO] [stdout] 427 |     pub tailnetLockKey: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tailnet_lock_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `postureIdentity` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:428:9
[INFO] [stdout]     |
[INFO] [stdout] 428 |     pub postureIdentity: Option<PostureIdentity>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `posture_identity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `mappingVariesByDestIP` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:436:9
[INFO] [stdout]     |
[INFO] [stdout] 436 |     pub mappingVariesByDestIP: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `mapping_varies_by_dest_ip`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `clientSupports` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:437:9
[INFO] [stdout]     |
[INFO] [stdout] 437 |     pub clientSupports: Option<ClientSupports>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `client_supports`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `latencyMs` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:444:9
[INFO] [stdout]     |
[INFO] [stdout] 444 |     pub latencyMs: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case: `latency_ms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `hairPinning` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:450:9
[INFO] [stdout]     |
[INFO] [stdout] 450 |     pub hairPinning: Option<bool>,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `hair_pinning`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `serialNumbers` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:461:9
[INFO] [stdout]     |
[INFO] [stdout] 461 |     pub serialNumbers: Option<Vec<String>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `serial_numbers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 7.18s
[INFO] running `Command { std: "docker" "inspect" "eafae1acf57c45be32279515907ac3321b67d7cdb61bfe97ab49ba6a76d02eb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eafae1acf57c45be32279515907ac3321b67d7cdb61bfe97ab49ba6a76d02eb3", kill_on_drop: false }`
[INFO] [stdout] eafae1acf57c45be32279515907ac3321b67d7cdb61bfe97ab49ba6a76d02eb3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 08e9e9128846a074b275facde056c8bc21a46822fe20fb88cdb48a85bc5fa9c9
[INFO] running `Command { std: "docker" "start" "-a" "08e9e9128846a074b275facde056c8bc21a46822fe20fb88cdb48a85bc5fa9c9", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Error`
[INFO] [stderr]  --> src/lib.rs:1:22
[INFO] [stderr]   |
[INFO] [stderr] 1 | use anyhow::{anyhow, Error, Result};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `testcontainers::core::ExecCommand`
[INFO] [stderr]  --> src/lib.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use testcontainers::core::ExecCommand;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GenericImage`, `ImageExt`, `core::WaitFor`, and `runners::AsyncRunner`
[INFO] [stderr]  --> src/lib.rs:7:22
[INFO] [stderr]   |
[INFO] [stderr] 7 | use testcontainers::{core::WaitFor, runners::AsyncRunner, GenericImage, ImageExt};
[INFO] [stderr]   |                      ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `expirySeconds` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:325:9
[INFO] [stderr]     |
[INFO] [stderr] 325 |     pub expirySeconds: Option<u64>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `expiry_seconds`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `userId` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:373:9
[INFO] [stderr]     |
[INFO] [stderr] 373 |     pub userId: Option<String>,
[INFO] [stderr]     |         ^^^^^^ help: convert the identifier to snake case: `user_id`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `nodeId` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:406:9
[INFO] [stderr]     |
[INFO] [stderr] 406 |     pub nodeId: Option<String>,
[INFO] [stderr]     |         ^^^^^^ help: convert the identifier to snake case: `node_id`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `clientVersion` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:410:9
[INFO] [stderr]     |
[INFO] [stderr] 410 |     pub clientVersion: Option<String>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `client_version`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `updateAvailable` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:411:9
[INFO] [stderr]     |
[INFO] [stderr] 411 |     pub updateAvailable: Option<bool>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `update_available`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `lastSeen` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:414:9
[INFO] [stderr]     |
[INFO] [stderr] 414 |     pub lastSeen: Option<String>,
[INFO] [stderr]     |         ^^^^^^^^ help: convert the identifier to snake case: `last_seen`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `keyExpiryDisabled` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:415:9
[INFO] [stderr]     |
[INFO] [stderr] 415 |     pub keyExpiryDisabled: Option<bool>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `key_expiry_disabled`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `isExternal` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:418:9
[INFO] [stderr]     |
[INFO] [stderr] 418 |     pub isExternal: Option<bool>,
[INFO] [stderr]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `is_external`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `machineKey` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:419:9
[INFO] [stderr]     |
[INFO] [stderr] 419 |     pub machineKey: Option<String>,
[INFO] [stderr]     |         ^^^^^^^^^^ help: convert the identifier to snake case: `machine_key`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `nodeKey` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:420:9
[INFO] [stderr]     |
[INFO] [stderr] 420 |     pub nodeKey: Option<String>,
[INFO] [stderr]     |         ^^^^^^^ help: convert the identifier to snake case: `node_key`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `blocksIncomingConnections` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:421:9
[INFO] [stderr]     |
[INFO] [stderr] 421 |     pub blocksIncomingConnections: Option<bool>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `blocks_incoming_connections`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `enabledRoutes` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:422:9
[INFO] [stderr]     |
[INFO] [stderr] 422 |     pub enabledRoutes: Option<Vec<String>>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `enabled_routes`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `advertisedRoutes` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:423:9
[INFO] [stderr]     |
[INFO] [stderr] 423 |     pub advertisedRoutes: Option<Vec<String>>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `advertised_routes`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `clientConnectivity` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:424:9
[INFO] [stderr]     |
[INFO] [stderr] 424 |     pub clientConnectivity: Option<ClientConnectivity>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `client_connectivity`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `tailnetLockError` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:426:9
[INFO] [stderr]     |
[INFO] [stderr] 426 |     pub tailnetLockError: Option<String>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tailnet_lock_error`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `tailnetLockKey` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:427:9
[INFO] [stderr]     |
[INFO] [stderr] 427 |     pub tailnetLockKey: Option<String>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `tailnet_lock_key`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `postureIdentity` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:428:9
[INFO] [stderr]     |
[INFO] [stderr] 428 |     pub postureIdentity: Option<PostureIdentity>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `posture_identity`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `mappingVariesByDestIP` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:436:9
[INFO] [stderr]     |
[INFO] [stderr] 436 |     pub mappingVariesByDestIP: Option<bool>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `mapping_varies_by_dest_ip`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `clientSupports` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:437:9
[INFO] [stderr]     |
[INFO] [stderr] 437 |     pub clientSupports: Option<ClientSupports>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `client_supports`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `latencyMs` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:444:9
[INFO] [stderr]     |
[INFO] [stderr] 444 |     pub latencyMs: Option<f64>,
[INFO] [stderr]     |         ^^^^^^^^^ help: convert the identifier to snake case: `latency_ms`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `hairPinning` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:450:9
[INFO] [stderr]     |
[INFO] [stderr] 450 |     pub hairPinning: Option<bool>,
[INFO] [stderr]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `hair_pinning`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `serialNumbers` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:461:9
[INFO] [stderr]     |
[INFO] [stderr] 461 |     pub serialNumbers: Option<Vec<String>>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `serial_numbers`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `core::WaitFor`
[INFO] [stderr]  --> src/lib.rs:7:22
[INFO] [stderr]   |
[INFO] [stderr] 7 | use testcontainers::{core::WaitFor, runners::AsyncRunner, GenericImage, ImageExt};
[INFO] [stderr]   |                      ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `tailscale-client` (lib) generated 25 warnings (run `cargo fix --lib -p tailscale-client` to apply 3 suggestions)
[INFO] [stderr] warning: `tailscale-client` (lib test) generated 24 warnings (23 duplicates) (run `cargo fix --lib -p tailscale-client --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tailscale_client-85c5782ad093ae96)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_tailscale_normal_in_docker ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_tailscale_normal_in_docker stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_tailscale_normal_in_docker' (17) panicked at src/lib.rs:467:52:
[INFO] [stdout] Please set TAILSCALE_API_KEY env var.: NotPresent
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x645eea410b5a - std[ec4e911328de40a6]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x645eea410b5a - std[ec4e911328de40a6]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec4e911328de40a6]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x645eea410b5a - std[ec4e911328de40a6]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x645eea410b5a - <<std[ec4e911328de40a6]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a96a4c5c53f902a3]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x645eea42883a - <core[a96a4c5c53f902a3]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x645eea42883a - core[a96a4c5c53f902a3]::fmt::write
[INFO] [stdout]    6:     0x645eea416232 - std[ec4e911328de40a6]::io::default_write_fmt::<alloc[c960326de6de28e6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x645eea416232 - <alloc[c960326de6de28e6]::vec::Vec<u8> as std[ec4e911328de40a6]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x645eea3ed3cf - <std[ec4e911328de40a6]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x645eea3ed3cf - std[ec4e911328de40a6]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x645eea408059 - std[ec4e911328de40a6]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x645ee9918dbc - <alloc[c960326de6de28e6]::boxed::Box<dyn for<'a, 'b> core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x645ee9918dbc - test[30c43f9fd66fea90]::test_main_with_exit_callback::<test[30c43f9fd66fea90]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x645eea4082d2 - <alloc[c960326de6de28e6]::boxed::Box<dyn for<'a, 'b> core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x645eea4082d2 - std[ec4e911328de40a6]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x645eea3ed488 - std[ec4e911328de40a6]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x645eea3e4609 - std[ec4e911328de40a6]::sys::backtrace::__rust_end_short_backtrace::<std[ec4e911328de40a6]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x645eea3ee44d - __rustc[aa69f48705c57ca8]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x645eea42907c - core[a96a4c5c53f902a3]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x645eea428df2 - core[a96a4c5c53f902a3]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x645ee97ab36e - <core[a96a4c5c53f902a3]::result::Result<alloc[c960326de6de28e6]::string::String, std[ec4e911328de40a6]::env::VarError>>::expect
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x645ee98c9baf - tailscale_client[480aa06f86d5fe14]::test_tailscale_normal_in_docker::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:467:52
[INFO] [stdout]   22:     0x645ee97f0e55 - <core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>> as core[a96a4c5c53f902a3]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x645ee97f0ecd - <core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>> as core[a96a4c5c53f902a3]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/future/future.rs:133:9
[INFO] [stdout]   24:     0x645ee983725d - <tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:769:70
[INFO] [stdout]   25:     0x645ee983714c - tokio[f48eeab4701df463]::task::coop::with_budget::<core[a96a4c5c53f902a3]::task::poll::Poll<core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>, <tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/task/coop/mod.rs:167:5
[INFO] [stdout]   26:     0x645ee983714c - tokio[f48eeab4701df463]::task::coop::budget::<core[a96a4c5c53f902a3]::task::poll::Poll<core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>, <tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/task/coop/mod.rs:133:5
[INFO] [stdout]   27:     0x645ee983714c - <tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:769:25
[INFO] [stdout]   28:     0x645ee981e50a - <tokio[f48eeab4701df463]::runtime::scheduler::current_thread::Context>::enter::<core[a96a4c5c53f902a3]::task::poll::Poll<core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>, <tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:446:19
[INFO] [stdout]   29:     0x645ee9835ccd - <tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:768:44
[INFO] [stdout]   30:     0x645ee9834f2b - <tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>>>::{closure#0}, core[a96a4c5c53f902a3]::option::Option<core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:856:68
[INFO] [stdout]   31:     0x645ee978135a - <tokio[f48eeab4701df463]::runtime::context::scoped::Scoped<tokio[f48eeab4701df463]::runtime::scheduler::Context>>::set::<<tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>>>::{closure#0}, core[a96a4c5c53f902a3]::option::Option<core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>::{closure#0}, (alloc[c960326de6de28e6]::boxed::Box<tokio[f48eeab4701df463]::runtime::scheduler::current_thread::Core>, core[a96a4c5c53f902a3]::option::Option<core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   32:     0x645ee97fc10a - tokio[f48eeab4701df463]::runtime::context::set_scheduler::<(alloc[c960326de6de28e6]::boxed::Box<tokio[f48eeab4701df463]::runtime::scheduler::current_thread::Core>, core[a96a4c5c53f902a3]::option::Option<core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>), <tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>>>::{closure#0}, core[a96a4c5c53f902a3]::option::Option<core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/context.rs:176:38
[INFO] [stdout]   33:     0x645ee98210e6 - <std[ec4e911328de40a6]::thread::local::LocalKey<tokio[f48eeab4701df463]::runtime::context::Context>>::try_with::<tokio[f48eeab4701df463]::runtime::context::set_scheduler<(alloc[c960326de6de28e6]::boxed::Box<tokio[f48eeab4701df463]::runtime::scheduler::current_thread::Core>, core[a96a4c5c53f902a3]::option::Option<core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>), <tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>>>::{closure#0}, core[a96a4c5c53f902a3]::option::Option<core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>::{closure#0}>::{closure#0}, (alloc[c960326de6de28e6]::boxed::Box<tokio[f48eeab4701df463]::runtime::scheduler::current_thread::Core>, core[a96a4c5c53f902a3]::option::Option<core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>)>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   34:     0x645ee9820afc - <std[ec4e911328de40a6]::thread::local::LocalKey<tokio[f48eeab4701df463]::runtime::context::Context>>::with::<tokio[f48eeab4701df463]::runtime::context::set_scheduler<(alloc[c960326de6de28e6]::boxed::Box<tokio[f48eeab4701df463]::runtime::scheduler::current_thread::Core>, core[a96a4c5c53f902a3]::option::Option<core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>), <tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>>>::{closure#0}, core[a96a4c5c53f902a3]::option::Option<core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>::{closure#0}>::{closure#0}, (alloc[c960326de6de28e6]::boxed::Box<tokio[f48eeab4701df463]::runtime::scheduler::current_thread::Core>, core[a96a4c5c53f902a3]::option::Option<core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>)>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   35:     0x645ee97fbad1 - tokio[f48eeab4701df463]::runtime::context::set_scheduler::<(alloc[c960326de6de28e6]::boxed::Box<tokio[f48eeab4701df463]::runtime::scheduler::current_thread::Core>, core[a96a4c5c53f902a3]::option::Option<core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>), <tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>>>::{closure#0}, core[a96a4c5c53f902a3]::option::Option<core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/context.rs:176:17
[INFO] [stdout]   36:     0x645ee9824289 - <tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>>>::{closure#0}, core[a96a4c5c53f902a3]::option::Option<core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:856:27
[INFO] [stdout]   37:     0x645ee98245b6 - <tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:756:24
[INFO] [stdout]   38:     0x645ee9834339 - <tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   39:     0x645ee97a3413 - tokio[f48eeab4701df463]::runtime::context::runtime::enter_runtime::<<tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>>::{closure#0}, core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   40:     0x645ee981da81 - <tokio[f48eeab4701df463]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   41:     0x645ee983abaf - <tokio[f48eeab4701df463]::runtime::runtime::Runtime>::block_on_inner::<core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/runtime.rs:371:52
[INFO] [stdout]   42:     0x645ee983ada3 - <tokio[f48eeab4701df463]::runtime::runtime::Runtime>::block_on::<core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = core[a96a4c5c53f902a3]::result::Result<(), anyhow[14d810d59e45c4dc]::Error>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/runtime.rs:345:18
[INFO] [stdout]   43:     0x645ee98d0edd - tailscale_client[480aa06f86d5fe14]::test_tailscale_normal_in_docker
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:546:7
[INFO] [stdout]   44:     0x645ee98c99a7 - tailscale_client[480aa06f86d5fe14]::test_tailscale_normal_in_docker::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:465:47
[INFO] [stdout]   45:     0x645ee9765536 - <tailscale_client[480aa06f86d5fe14]::test_tailscale_normal_in_docker::{closure#0} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x645ee990ce9b - <fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47:     0x645ee990ce9b - test[30c43f9fd66fea90]::__rust_begin_short_backtrace::<core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>, fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:663:18
[INFO] [stdout]   48:     0x645ee991988b - test[30c43f9fd66fea90]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:74
[INFO] [stdout]   49:     0x645ee991988b - <core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   50:     0x645ee991988b - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}>, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   51:     0x645ee991988b - std[ec4e911328de40a6]::panicking::catch_unwind::<core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>, core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   52:     0x645ee991988b - std[ec4e911328de40a6]::panic::catch_unwind::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}>, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14
[INFO] [stdout]   53:     0x645ee991988b - test[30c43f9fd66fea90]::run_test_in_process
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:27
[INFO] [stdout]   54:     0x645ee991988b - test[30c43f9fd66fea90]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:607:43
[INFO] [stdout]   55:     0x645ee9914fa4 - test[30c43f9fd66fea90]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:637:41
[INFO] [stdout]   56:     0x645ee9914fa4 - std[ec4e911328de40a6]::sys::backtrace::__rust_begin_short_backtrace::<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   57:     0x645ee991c492 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   58:     0x645ee991c492 - <core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   59:     0x645ee991c492 - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   60:     0x645ee991c492 - std[ec4e911328de40a6]::panicking::catch_unwind::<(), core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   61:     0x645ee991c492 - std[ec4e911328de40a6]::panic::catch_unwind::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14
[INFO] [stdout]   62:     0x645ee991c492 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   63:     0x645ee991c492 - <std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   64:     0x645eea40fddf - <alloc[c960326de6de28e6]::boxed::Box<dyn core[a96a4c5c53f902a3]::ops::function::FnOnce<(), Output = ()> + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   65:     0x645eea40fddf - <std[ec4e911328de40a6]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   66:     0x7b99ea2b2aa4 - <unknown>
[INFO] [stdout]   67:     0x7b99ea33fa64 - clone
[INFO] [stdout]   68:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_tailscale_normal_in_docker
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "08e9e9128846a074b275facde056c8bc21a46822fe20fb88cdb48a85bc5fa9c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "08e9e9128846a074b275facde056c8bc21a46822fe20fb88cdb48a85bc5fa9c9", kill_on_drop: false }`
[INFO] [stdout] 08e9e9128846a074b275facde056c8bc21a46822fe20fb88cdb48a85bc5fa9c9
